package JVM.类加载机制;

 class SuperClass {
    static {
        System.out.println("superclass init");
        if (true){
            while (true){

            }
        }
    }
    public static final int value=123;//final修饰的，在编译期就把结果放到常量池了，所以访问这个value的时候，不会触发类加载（自然就不会触发初始化）

    public static int value2=234;//访问这个value会触发类加载和初始化，因为static中有while死循环，所以会死循环
}
class subClass extends SuperClass{
    static {
        System.out.println("subClass init");
    }
}
public class Init{
    public static void main(String[] args) {
        System.out.println(SuperClass.value2);
        System.out.println("hahah");
    }
}

